package 面试题10_斐波那契数列_求第n项.从下往上计算;

/**
 * @Author ：xu_xiaofeng.
 * @Date ：Created in 9:32 2021/2/4
 * @Description：
 */
public class Solution {
    // 自下而上计算
    public int fib(int n) {
        if (n < 2) {
            return n;
        }

        int fib_n_2 = 0;
        int fib_n_1 = 1;

        int fibN = 0;
        for (int i = 2; i < n + 1; i++) {
//            fibN = fib_n_2 + fib_n_1;
            // 题目要求取模。。。
            fibN = (fib_n_2 + fib_n_1) % 1000000007;

            fib_n_2 = fib_n_1;
            fib_n_1 = fibN;
        }

        // 题目要求取模
        return fibN % 1000000007;
    }
}
